package com.fcscs.cservice.client.common.model.reservation;

import com.fcscs.core.common.MainEnums.HasDisplayString;
import com.fcscs.core.gwt.common.CoreConstants;
import com.fcscs.cservice.client.common.CServiceConstants;
import com.fcscs.share.gwt.common.ShareGWTConstants;

public enum AdvancedSearchItemsGWTEnum implements HasDisplayString {
	NAME(CoreConstants.CORE_CONSTANTS.name(), AdvancedSearchItemsEnum.NAME, AdvancedSearchItemsEnum.NAME.getIndex()),
	RESERVATION_STATUS(CServiceConstants.CSERVICE_CONSTANTS.reservationStatus(), AdvancedSearchItemsEnum.RESERVATION_STATUS,AdvancedSearchItemsEnum.RESERVATION_STATUS.getIndex()),
	ROOM_NO(ShareGWTConstants.SHARE_GWT_CONSTANTS.roomNumber(), AdvancedSearchItemsEnum.ROOM_NO, AdvancedSearchItemsEnum.ROOM_NO.getIndex()),
	MEMBERSHIP_NO(CServiceConstants.CSERVICE_CONSTANTS.membershipNo(), AdvancedSearchItemsEnum.MEMBERSHIP_NO,AdvancedSearchItemsEnum.MEMBERSHIP_NO.getIndex()),
	ROOM_STATUS(ShareGWTConstants.SHARE_GWT_CONSTANTS.roomStatus(), AdvancedSearchItemsEnum.ROOM_STATUS, AdvancedSearchItemsEnum.ROOM_STATUS.getIndex()),
	BAGAGE_NO(CServiceConstants.CSERVICE_CONSTANTS.baggageNo(), AdvancedSearchItemsEnum.BAGAGE_NO, AdvancedSearchItemsEnum.BAGAGE_NO.getIndex()),
	ARRIVALDATE_TIME(ShareGWTConstants.SHARE_GWT_CONSTANTS.arrivalDateAndEta(), AdvancedSearchItemsEnum.ARRIVALDATE_TIME, AdvancedSearchItemsEnum.ARRIVALDATE_TIME.getIndex()),
	DEPARTUAL_TIME(ShareGWTConstants.SHARE_GWT_CONSTANTS.departureDateAndEtd(), AdvancedSearchItemsEnum.DEPARTUAL_TIME, AdvancedSearchItemsEnum.DEPARTUAL_TIME.getIndex()),
	;

	private String displayStr;
	private AdvancedSearchItemsEnum itemEnum;
	private int index;
	
	private AdvancedSearchItemsGWTEnum(String displayStr,
			AdvancedSearchItemsEnum itemEnum, int index) {
		this.displayStr = displayStr;
		this.itemEnum = itemEnum;
		this.index = index;
	}

	@Override
	public String getDisplayStr() {
		return displayStr;
	}

	public AdvancedSearchItemsEnum getItemEnum() {
		return itemEnum;
	}

	public int getIndex() {
		return index;
	}
}
